﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

using Domain; //подключение Domain
using Session; //подключение Session
using Notif; //подключение Notif

namespace Log_Ords
{
    public partial class FormLgOrds : Form
    {
        FormLgOrdsUpd f_LgOrdsUpd = new FormLgOrdsUpd(); // объявление FormLgOrdsUpd
        BrokerLgOrds b_LgOrds = new BrokerLgOrds(); // объявление BrokerLgOrds

        FormLgOrdsDH dh = new FormLgOrdsDH();
        FormLgOrdsConf conf = new FormLgOrdsConf();
        FormLgOrdsDlv dlv = new FormLgOrdsDlv();
        FormLgOrdsMG mg = new FormLgOrdsMG();

        public FormLgOrds()
        {
            InitializeComponent();
        }

        private void LgOrds_sBt_Ex_Click(object sender, EventArgs e) // закрытие формы
        {
            this.Close();
        }

        private void LgOrds_sBt_Upd_Click(object sender, EventArgs e) // открытие формы "Редактирование"
        {
            f_LgOrdsUpd.ShowDialog();
        }

        private void FormLgOrds_Activated(object sender, EventArgs e) // при навидение фокуса, Grid перезаполняется
        {
            FillGrid(); // вызов функции заполнения
        }

        private void LgOrds_dGV_Ords_SelectionChanged(object sender, EventArgs e) // метод на отслеживание и заполнение из LgOrds_dGV_Ords
        {
            DataGridViewCell cell = null; // объявление DataGridViewCell и его обнуление

            foreach (DataGridViewCell selectedCell in LgOrds_dGV_Ords.SelectedCells) // цикл на выбор ячейки, при выборе ячейки из LgOrds_dGV_Ords, это значение устанавливается в selectedCell 
            {
                cell = selectedCell; // приравнивание cell и selectedCell       
                break; // перерывание цикла
            }


            if (cell != null) // если cell не пустой, то
            {
                DataGridViewRow row = cell.OwningRow; // объявление DataGridViewRow и присвоение ему текущего ряда 

                if (Dm_User.Id_pers == Convert.ToInt32(row.Cells[7].Value.ToString()))
                {
                    LgOrds_sBt_Upd.Enabled = true;
                }
                else
                {
                    if (Dm_User.Id_post == 3)
                    {
                        LgOrds_sBt_Upd.Enabled = true;

                    }
                    else
                        LgOrds_sBt_Upd.Enabled = false;
                }

                dh.label8.Text = row.Cells[0].Value.ToString();
                conf.label8.Text = row.Cells[0].Value.ToString();
                dlv.label8.Text = row.Cells[0].Value.ToString();
                mg.label8.Text = row.Cells[0].Value.ToString();
                f_LgOrdsUpd.label8.Text = row.Cells[0].Value.ToString(); // передача значения из Cells[0] в f_LgOrdsUpd.label8.Text
                f_LgOrdsUpd.LgOrds_Upd_dE_DtSt.Text = row.Cells[8].Value.ToString(); // передача значения из Cells[8] в f_LgOrdsUpd.LgOrds_Upd_dE_DtSt.Text
                f_LgOrdsUpd.LgOrds_Upd_dE_DtDlv.Text = row.Cells[9].Value.ToString(); // передача значения из Cells[9] в f_LgOrdsUpd.LgOrds_Upd_dE_DtDlv.Text
                f_LgOrdsUpd.LgOrds_Upd_tE_Prvd.Text = row.Cells[10].Value.ToString(); // передача значения из Cells[10] в f_LgOrdsUpd.LgOrds_Upd_tE_Prvd.Text
                f_LgOrdsUpd.LgOrds_Upd_tE_MkGds.Text = row.Cells[11].Value.ToString(); // передача значения из Cells[11] в f_LgOrdsUpd.LgOrds_Upd_tE_MkGds.Text
                f_LgOrdsUpd.LgOrds_Upd_tE_Nt.Text = row.Cells[12].Value.ToString(); // передача значения из Cells[12] в f_LgOrdsUpd.LgOrds_Upd_tE_Nt.Text
                f_LgOrdsUpd.label9.Text = row.Cells[13].Value.ToString(); // передача значения из Cells[13] в f_LgOrdsUpd.label9.Text
            }
        }

        private void simpleButton1_Click(object sender, EventArgs e)
        {
            dh.ShowDialog();
        }

        private void simpleButton2_Click(object sender, EventArgs e)
        {
            conf.ShowDialog();
        }

        private void simpleButton3_Click(object sender, EventArgs e)
        {
            dlv.ShowDialog();
        }

        private void simpleButton4_Click(object sender, EventArgs e)
        {
            mg.ShowDialog();
        }

        private void FillGrid() // функции заполнения Grid
        {
            LgOrds_dGV_Ords.DataSource = b_LgOrds.FillGrid(); // вызов функции заполнения

            //SlCnt_dGV_Cnt.Rows[1].DefaultCellStyle.BackColor = System.Drawing.Color.Silver;

            LgOrds_dGV_Ords.Columns[0].Visible = false;
            LgOrds_dGV_Ords.Columns[1].Visible = false;
            LgOrds_dGV_Ords.Columns[3].Visible = false;
            LgOrds_dGV_Ords.Columns[7].Visible = false;
            LgOrds_dGV_Ords.Columns[13].Visible = false;
            LgOrds_dGV_Ords.Columns[14].Visible = false;

            LgOrds_dGV_Ords.Columns[2].HeaderText = "Наименование заказчика";
            LgOrds_dGV_Ords.Columns[4].HeaderText = "Компания-продавец";
            LgOrds_dGV_Ords.Columns[5].HeaderText = "Дата создания";
            LgOrds_dGV_Ords.Columns[6].HeaderText = "Срок поставки по контракту";
            LgOrds_dGV_Ords.Columns[8].HeaderText = "Дата готовности";
            LgOrds_dGV_Ords.Columns[9].HeaderText = "Срок поставки";
            LgOrds_dGV_Ords.Columns[10].HeaderText = "Поставщик";
            LgOrds_dGV_Ords.Columns[11].HeaderText = "Отметка о поступлении товара";
            LgOrds_dGV_Ords.Columns[12].HeaderText = "Примечания";
            LgOrds_dGV_Ords.Columns[15].HeaderText = "Имя менеджера из отдела прожад";
            LgOrds_dGV_Ords.Columns[16].HeaderText = "Фамилия менеджера из отдела прожад";
            LgOrds_dGV_Ords.Columns[17].HeaderText = "Вид закупки";


            LgOrds_dGV_Ords.Columns[2].DisplayIndex = 2;
            LgOrds_dGV_Ords.Columns[4].DisplayIndex = 4;
            LgOrds_dGV_Ords.Columns[5].DisplayIndex = 5;
            LgOrds_dGV_Ords.Columns[6].DisplayIndex = 6;
            LgOrds_dGV_Ords.Columns[8].DisplayIndex = 7;
            LgOrds_dGV_Ords.Columns[9].DisplayIndex = 8;
            LgOrds_dGV_Ords.Columns[10].DisplayIndex = 9;
            LgOrds_dGV_Ords.Columns[11].DisplayIndex = 10;
            LgOrds_dGV_Ords.Columns[12].DisplayIndex = 11;
            LgOrds_dGV_Ords.Columns[15].DisplayIndex = 0;
            LgOrds_dGV_Ords.Columns[16].DisplayIndex = 1;
            LgOrds_dGV_Ords.Columns[17].DisplayIndex = 3;


            LgOrds_dGV_Ords.AutoResizeColumns();
            //Prs_dGV_Prs.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells;
        }
    }
}
